layui.define(['layer'],function(exports){ 
  	var $ = layui.$,tamp=new Date().getTime();
  	var elem='#enian_menu_'+tamp,func={};
  	// var init_ed=0;//初始化

  	function init(arg){
  		var fileBoxElemId=arg.fileBoxElemId

		//元素
		var oFileBox = $("#"+fileBoxElemId);					//选择文件父级盒子

		var zhezhao_height = 'calc( 100% - ' + ($(window).height() - oFileBox.height()) + 'px)';
		var zhezhao_width = 'calc( 100% - ' + ($(window).width() - oFileBox.width()) + 'px)';
		var zhezhao_upload_top = ($(oFileBox).parent().height() / 2 - 200)+'px';
		var upload_file_box_text_out = "将文件拖到此处区域";
		var upload_file_box_text_in = "松开鼠标开始上传...";
		var extendDisplay = 'border-radius: 12px;box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 0px;';
		// 创建上传遮罩
			oFileBox.prepend('<div id="zhezhao-upload" style="display:none;height:' + zhezhao_height + ';width:' + zhezhao_width + ';position:absolute;background-color: rgba(255, 255, 255, 0.85);opacity: 1;z-index: 999;' + extendDisplay +'"><div id="zhezhao-upload-close" style="cursor: pointer;display:inline-block;margin:10px;"><i class="layui-icon layui-icon-close" style="font-size:25px;"></i></div><div class="upload-file-tool" style="margin: auto;margin-top: ' + zhezhao_upload_top + ';width: 50%;text-align: center;height: 100px;border: 2px dashed #ccc;line-height: 100px;">' + upload_file_box_text_out+'</div><div>')
		    

		var oFileSpan = $("#zhezhao-upload");					//选择文件框遮罩
		var uploadFileTool=$("#zhezhao-upload .upload-file-tool")

		// var oFileList_parent = $(".fileList_parent");	//表格
		// var oFileList = $(".fileList");					//表格tbody
		// var oFileBtn = $("#fileBtn");					//上传按钮
		
		// var flieList = [];								//数据，为一个复合数组
		// var sizeObj = [];								//存放每个文件大小的数组，用来比较去重
		

		// 关闭窗口
		oFileSpan.click(function () {
			func.oFileSpanHide()
		})

		// 关闭窗口
		$('#zhezhao-upload-close').click(function(){
			func.oFileSpanHide()
		})

		// 当父级盒子有文件拖入
		oFileBox.on("dragenter",function(){
			console.log('进入父级')
			// mouseTag[0]=1
			func.oFileSpanShow()
			return false;
		})

		// 在父级释放鼠标
		oFileBox.on("drop",function(ev){
			console.log('父级松开鼠标')
			layer.msg('放弃上传文件')
			func.oFileSpanHide()

			// mouseTag=[0,0,0]
			return false;
		});


		// 拖拽外部文件，进入目标、离开目标之间，连续触发
		oFileBox.on("dragover",function(ev){
			// if(mouseTag[1]==1){
			// 	func.oFileSpanShow()
			// }else{
			// 	func.oFileSpanHide()
			// }
			console.log('父级边缘触发')
			return false;
		});

		//拖拽外部文件，进入目标、离开目标之间，连续触发
		// oFileBox.on("dragleave",function(){
		// 	if(mouseTag[1]==1){
		// 		func.oFileSpanShow()
		// 	}else{
		// 		func.oFileSpanHide()
		// 	}
		// 	mouseTag[0]=0
		// 	console.log('离开父级')
		// 	return false;
		// });

		// // 当中级盒子有文件拖入
		// oFileSpan.on("dragenter",function(){
		// 	console.log('进入中级')
		// 	mouseTag[1]=1
		// 	func.oFileSpanShow()
		// 	return false;
		// })

		// 在中级释放鼠标
		oFileSpan.on("drop",function(ev){
			console.log('中级松开鼠标')
			layer.msg('放弃上传文件')
			func.oFileSpanHide()
			// mouseTag=[0,0,0]
			return false;
		});


		// //拖拽外部文件，进入目标、离开目标之间，连续触发
		// oFileSpan.on("dragover",function(){
		// 	// func.oFileSpanShow()
		// 	console.log('中级边缘触发')
		// 	return false;
		// });

		// //拖拽外部文件，进入目标、离开目标之间，连续触发
		// oFileSpan.on("dragleave",function(){
		// 	mouseTag[1]=0
		// 	console.log('离开中级')
		// 	return false;
		// });


		// //拖拽外部文件，进入目标、离开目标之间，连续触发
		// oFileSpan.on("dragover",function(){
		// 	return false;
		// });

		// //拖拽外部文件，在目标元素上释放鼠标触发
		// oFileSpan.on("drop",function(ev){
		// 	func.oFileSpanHide()
		// 	return false;
		// });

		

		//拖拽外部文件，在目标元素上释放鼠标触发
		uploadFileTool.on("drop",function(ev){
			
			func.oFileSpanHide()
			uploadFileTool.text(upload_file_box_text_out).css("background","none");
			
			func.analysisList(ev);
			return false;
		});

		uploadFileTool.on("dragenter",function(ev){
			console.log(ev.originalEvent.dataTransfer.files);
			if (ev.originalEvent.dataTransfer.files.length==1){
				uploadFileTool.text('文件无效').css("background", "#ccc");
			}else{
				uploadFileTool.text(upload_file_box_text_in).css("background", "#ccc");
			}
			
			return false;
		});

		//拖拽外部文件，离开目标元素触发
		uploadFileTool.on("dragleave",function(){
			uploadFileTool.text(upload_file_box_text_out).css("background","none");
			return false;
		});

		func.oFileSpanHide = function (){
			// mouseTag=0
			oFileSpan.hide()
			oFileSpan.parent().css('overflow-y','auto')
		}

		func.oFileSpanShow = function(){
			// mouseTag=1
			oFileSpan.show()
			oFileSpan.parent().css('overflow-y','hidden')
		}

		//点击选择文件按钮选文件
		// oFileInput.on("change",function(){
		// 	analysisList(this.files);
		// })
		
		//解析列表函数
		func.analysisList=function (ev){
			var obj = ev.originalEvent.dataTransfer.files;
			arg.getFile(obj);
		};
			
	}

	// //字节大小转换，参数为b
	function bytesToSize(bytes) {
	    var sizes = ['B', 'KB', 'MB','GB'];
	    if (bytes == 0) return 'n/a';
	    var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));
	    return (bytes / Math.pow(1024, i)).toFixed(1) + ' ' + sizes[i];
	};

	//通过文件名，返回文件的后缀名
	function fileType(name){
		var nameArr = name.split(".");
		return nameArr[nameArr.length-1].toLowerCase();
	}

	// function showUploadList(){
	// 	$('#upload-layer-btn-close').parent().parent().parent().show()
	// }
	// function hideUploadList(){
	// 	$('#upload-layer-btn-close').parent().parent().parent().hide()
	// }

	var jq_upload={
		init:init,
		analysisList:function(file){
			func.analysisList(file)
		},
		dragWindowShow:function(){func.oFileSpanShow()},
		dragWindowHide:function(){func.oFileSpanHide();console.log('隐藏上传列表窗口')}
	}
  
  	
  	exports('my_jq_upload', jq_upload);
});    
